package com.example.javafx.simple;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.Slider;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class SliderExample extends Application {

    @Override
    public void start(Stage primaryStage) {
        // 创建 Slider 控件
        Slider slider = new Slider(0, 100, 50); // 范围从 0 到 100，初始值为 50
        slider.setShowTickMarks(true);
        slider.setShowTickLabels(true);
        slider.setMajorTickUnit(10);
        slider.setBlockIncrement(5);

        // 创建 Label 用于显示 Slider 的当前值
        Label valueLabel = new Label("Current Value: " + slider.getValue());
        
        // 添加事件处理器，更新 Label 的值
        slider.valueProperty().addListener((obs, oldVal, newVal) -> {
            valueLabel.setText("Current Value: " + newVal.intValue());
        });

        // 创建布局并添加 Slider 和 Label
        VBox root = new VBox(slider, valueLabel);
        Scene scene = new Scene(root, 300, 200);

        primaryStage.setTitle("Slider Example");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}